package com.huashi.dealer.modular.business.order.enums;

import com.huashi.dealer.enums.EnumBasics;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 审核状态枚举
 *
 * @author 谭陈强
 * @since 2025-07-30
 */
@Getter
@AllArgsConstructor
public enum AuditStatusEnum implements EnumBasics {

    PENDING(0, "待审核"),
    REJECTED(10, "已驳回"),
    APPROVED(20, "已通过"),
    FIRST_PENDING(30, "初审待审核"),
    FIRST_REJECTED(40, "初审已驳回"),
    FIRST_APPROVED(50, "初审已通过");

    private final Integer value;
    private final String name;

    /**
     * 获取枚举数据
     * @return 枚举数组
     */
    @Override
    public EnumBasics[] data() {
        return values();
    }

    /**
     * 根据值获取枚举
     * @param value 枚举值
     * @return 枚举对象
     */
    public static AuditStatusEnum getByValue(Integer value) {
        return (AuditStatusEnum) EnumBasics.getByValue(values(), value);
    }

    /**
     * 根据值获取名称
     * @param value 枚举值
     * @return 枚举名称
     */
    public static String getNameByValue(Integer value) {
        AuditStatusEnum enumValue = getByValue(value);
        return enumValue != null ? enumValue.getName() : "";
    }
} 